package com.mask.common.file.config;

import com.mask.common.file.enums.StorageTypeEnum;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = "mask.file")
public class FileProperties {
    /**
     * 存储类型
     */
    private StorageTypeEnum storageType = StorageTypeEnum.LOCAL;

    /**
     * 本地存储配置
     */
    private Local local = new Local();

    /**
     * MinIO配置
     */
    private Minio minio = new Minio();

    @Data
    public static class Local {
        /**
         * 本地存储路径
         */
        private String path = "/upload";
        
        /**
         * 访问地址
         */
        private String domain = "http://localhost:8080";
    }

    @Data
    public static class Minio {
        /**
         * 服务地址
         */
        private String endpoint;
        
        /**
         * 访问密钥
         */
        private String accessKey;
        
        /**
         * 密码
         */
        private String secretKey;
        
        /**
         * 存储桶名称
         */
        private String bucketName = "mask";
    }
}